home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir37 / ms_sh23b.zip / INCLUDE / LIMITS.H < prev    next >
C/C++ Source or Header  |  1994-02-23  |  4KB  |  125 lines

  1. /*
  2.  * Limiting values - Support for IBM C Set/2 and Microsoft C
  3.  */
  4.  
  5. #if !defined(_LIMITS_H) && !defined (__limits_h)
  6. #define __limits_h
  7. #define _LIMITS_H
  8.  
  9. #ifndef _CHAR_UNSIGNED
  10. #  define CHAR_MAX    127        /* maximum char value        */
  11. #  define CHAR_MIN    -127        /* mimimum char value        */
  12. #else
  13. #  define CHAR_MAX    255
  14. #  define CHAR_MIN    0
  15. #endif
  16.  
  17. #define SCHAR_MAX        127            /* maximum signed char value    */
  18. #define SCHAR_MIN       -127            /* minimum signed char value    */
  19. #define UCHAR_MAX        255            /* maximum unsigned char value    */
  20. #define CHAR_BIT         8              /* number of bits in a char    */
  21.  
  22. #define USHRT_MAX        0xffff         /* maximum unsigned short value */
  23. #define SHRT_MAX         32767          /* maximum (signed) short value */
  24. #define SHRT_MIN        -32767          /* minimum (signed) short value */
  25. #define SHRT_BIT         16        /* number of bits in a short    */
  26.  
  27. #if defined (MSDOS)
  28. #  define UINT_MAX    0xffff        /* maximum unsigned int value    */
  29. #  define INT_MAX    32767        /* maximum (signed) int value    */
  30. #  define INT_MIN    -32767        /* minimum (signed) int value    */
  31. #  define INT_BIT    16        /* number of bits in a int    */
  32. #else
  33. #  define UINT_MAX    0xffffffff    /* maximum unsigned int value    */
  34. #  define INT_MAX    2147483647    /* maximum (signed) int value    */
  35. #  define INT_MIN    -2147483647    /* minimum (signed) int value    */
  36. #  define INT_BIT    32        /* number of bits in a int    */
  37. #endif
  38.  
  39. #define ULONG_MAX        0xffffffff     /* maximum unsigned long value    */
  40. #define LONG_MAX         2147483647     /* maximum (signed) long value    */
  41. #define LONG_MIN        -2147483647     /* minimum (signed) long value    */
  42. #define LONG_BIT         32        /* number of bits in a long    */
  43.  
  44. #if defined (OS2) || defined (__OS2__)
  45. #  undef NAME_MAX
  46. #  undef PATH_MAX
  47. #  define NAME_MAX    256        /* Maximum file name length    */
  48. #  define PATH_MAX    256        /* Maximum path name length    */
  49. #elif defined (WIN32)
  50. #  undef NAME_MAX
  51. #  undef PATH_MAX
  52. #  define PATH_MAX    260        /* max. length of full pathname */
  53. #  define NAME_MAX    256        /* max. length of file name component */
  54. #elif defined (MSDOS)
  55. #  define NAME_MAX    13        /* Maximum file name length    */
  56. #  ifndef PATH_MAX
  57. #    define PATH_MAX    128        /* Maximum path name length    */
  58. #  endif
  59. #else
  60. #  define NAME_MAX    256        /* Maximum file name length    */
  61. #  define PATH_MAX    1024        /* Maximum path name length    */
  62. #endif
  63.  
  64. #define FCHR_MAX    
  65. #define LINK_MAX    32        /* Maximum number of links    */
  66. #define LOCK_MAX    0        /* Maximum number of locks    */
  67.  
  68. #ifndef SYS_OPEN
  69. #  ifdef MSDOS
  70. #    define SYS_OPEN    20        /* Max # of files open by system*/
  71. #  else
  72. #    define SYS_OPEN    64
  73. #  endif
  74. #endif
  75.  
  76. #ifndef OPEN_MAX
  77. #  define OPEN_MAX    20        /* Max # of files open by user    */
  78. #endif
  79.  
  80. #define STD_BLK        1024        /* Standard block size        */
  81. #define PIPE_MAX    5120        /* Maximum pipe size        */
  82. #define PIPE_BUF    PIPE_MAX
  83.  
  84. #ifndef TMP_MAX
  85. #define TMP_MAX        32767        /* Max # of tempory files    */
  86. #endif
  87.  
  88. #define PID_MAX        32000        /* Process id max        */
  89. #define PROC_MAX
  90. #define SYSPID_MAX    
  91. #define UID_MAX        30000
  92. #define MAX_CHAR
  93. #define PASS_MAX    8        /* MAX password length        */
  94. #define SYS_NMLN    9
  95. #define MAX_CANON    255
  96. #define MAX_INPUT    255
  97. #define ARG_MAX        2048
  98. #define CHILD_MAX    30000
  99.  
  100. #if !defined (CLK_TCK) && !defined (__OS2__) && !defined (__TURBOC__) && !defined (__WATCOMC__) && !defined (WIN32)
  101. #  define CLK_TCK    60
  102. #endif
  103.  
  104. #define NGROUPS_MAX    0        /* Max number of groups per p.    */
  105. #define MAX_GROUPS    100        /* Max users per group        */
  106.  
  107. #ifdef MSDOS
  108. #  define MB_LEN_MAX    1        /* Max # bytes in multibyte    */
  109.                     /* character            */
  110. #else
  111. #  define MB_LEN_MAX    2
  112. #endif
  113.  
  114. #define _POSIX_ARG_MAX        ARG_MAX
  115. #define _POSIX_CHILD_MAX    CHILD_MAX
  116. #define _POSIX_LINK_MAX        LINK_MAX
  117. #define _POSIX_MAX_CANON    MAX_CANON
  118. #define _POSIX_MAX_INPUT    MAX_INPUT
  119. #define _POSIX_NAME_MAX        14
  120. #define _POSIX_NGROUPS_MAX    NGROUPS_MAX
  121. #define _POSIX_OPEN_MAX        OPEN_MAX
  122. #define _POSIX_PATH_MAX        PATH_MAX
  123. #define _POSIX_PIPE_BUF        PIPE_BUF
  124. #endif
  125.